//#include <stdio.h>
//#include <stdlib.h>  
//
//#define _CRT_SECURE_NO_WARNINGS  
//
//int main() {
//    int n;
//    printf("请输入数组长度: ");
//    scanf_s("%d", &n);  
//
//    
//    int* arr1 = (int*)malloc(n * sizeof(int));
//    int* arr2 = (int*)malloc(n * sizeof(int));
//
//
//    printf("请输入第一个数组的%d个元素: ", n);
//    for (int i = 0; i < n; i++) {
//        scanf_s("%d", &arr1[i]);
//    }
//
//
//    printf("请输入第二个数组的%d个元素: ", n);
//    for (int i = 0; i < n; i++) {
//        scanf_s("%d", &arr2[i]);
//    }
//
//
//    for (int i = 0; i < n; i++) {
//        int temp = arr1[i];
//        arr1[i] = arr2[i];
//        arr2[i] = temp;
//    }
//
//    printf("交换后的第一个数组: ");
//    for (int i = 0; i < n; i++) {
//        printf("%d", arr1[i]);
//        if (i != n - 1) printf(" ");
//    }
//    printf("\n交换后的第二个数组: ");
//    for (int i = 0; i < n; i++) {
//        printf("%d", arr2[i]);
//        if (i != n - 1) printf(" ");
//    }
//
//    free(arr1);
//    free(arr2);
//    return 0;
//}


//#include <stdio.h>
//#define _CRT_SECURE_NO_WARNINGS  
//
//
//int binary_search(int arr[], int size, int target) {
//    int left = 0;              
//    int right = size - 1;      
//
//    while (left <= right) {    
//        int mid = left + (right - left) / 2;  
//        if (arr[mid] == target) {
//            return mid;       
//        }
//        else if (arr[mid] < target) {
//            left = mid + 1;   
//        }
//        else {
//            right = mid - 1;  
//        }
//    }
//    return -1;  
//}
//
//int main() {
//    int arr[] = { 1, 3, 5, 7, 9 }; 
//    int size = sizeof(arr) / sizeof(arr[0]);  
//    int target;
//
//    
//    printf("请输入要查找的整数: ");
//    scanf_s("%d", &target);
//
//  
//    int index = binary_search(arr, size, target);
//
//    
//    if (index != -1) {
//        printf("找到目标值 %d，下标为 %d\n", target, index);
//    }
//    else {
//        printf("未找到目标值 %d\n", target);
//    }
//
//    return 0;
//}


#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS  


void print_multiplication_table(int n) {
    int i, j;  
    for (i = 1; i <= n; i++) {        
        for (j = 1; j <= i; j++) {     
            printf("%d*%d=%-4d", j, i, j * i);  
        }
        printf("\n"); 
    }
}

int main() {
    int n;
    printf("请输入口诀表的行数（列数）: ");
    scanf_s("%d", &n);  
    print_multiplication_table(n);  
    return 0;
}